package com.zhaokuner.pm.model.es;

import com.alibaba.fastjson.JSONObject;
import lombok.Data;

import java.util.List;

/**
 * <p>
 * Title:EsBaseDoc
 * <p>
 * Description:EsBaseDoc
 * <p>
 * Copyright: 2014-现在 厦门神州鹰掌通家园项目组
 * <p>
 * Date: 2019-05-13 19:20
 *
 * @author 赵希坤 zhaoxikun
 */
@Data
public class EsBaseList {
    /**
     * 整个搜索请求花费的毫秒数
     */
    private Integer took;
    /**
     * 查询超时与否
     */
    private Boolean timed_out;
    /**
     * 节点分片数据
     */
    private Shards _shards;
    /**
     * 文档数据
     */
    private Hits hits;

    @Data
    public static class EsBaseListDoc {
        private String _index;
        private String _type;
        private String _id;
        private Double _score;
        private JSONObject _source;
        private Object[] sort;
    }

    @Data
    public static class Hits {
        /**
         * 匹配到的文档总数
         */
        private Total total;
        /**
         * 最大相关性得分
         */
        private Double max_score;
        /**
         * 响应数据
         */
        private List<EsBaseListDoc> hits;

        @Data
        public static class Total {
            /**
             * 数量
             */
            private Long value;
            /**
             * 关系
             */
            private String relation;
        }
    }

    @Data
    public static class Shards {
        /**
         * 参与查询的分片数
         */
        private Integer total;
        /**
         * 有多少是成功的
         */
        private Integer successful;
        /**
         * 有多少的是失败的
         */
        private Integer failed;
        /**
         * 跳过
         */
        private Integer skipped;
    }

}
